1. Field of the Invention
The present invention firstly relates to a process for storing, in a first communication apparatus, data-link-layer path information indicating a communication path in a data link layer (layer 2) from the first communication apparatus to one of at least one second communication apparatus, where the first and at least one second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The present invention also relates to a product which, when used with a communication apparatus, is able to output control information which directs the communication apparatus to execute the above process. The present invention further relates to a communication apparatus generated by the above process.
The present invention secondly relates to a process for searching, at a first communication apparatus, for one of at least one piece of data-link-layer (layer-2) or network-layer (layer-3) path information indicating a communication path in a data link layer or in a network layer from the first communication apparatus to one of at least one second communication apparatus, based on a network-layer (layer-2) address of the one of the at least one second communication apparatus, where the first communication apparatus and the at least one second communication apparatuses are each connected to a network as above. The present invention also relates to a product which, when used with a communication apparatus, is able to output control information which directs the communication apparatus to execute the above process.
The present invention thirdly relates to a process and an apparatus for determining layer-2 (data-link-layer) reachability between first and second communication apparatuses, where each of the first and second communication apparatuses are connected to a layer-3 (network-layer) communication network comprised of at least one router and a plurality of subnetworks which are logically defined over at least one layer-2-connected communication network. The present invention also relates to a product which, when used with a communication apparatus, is able to output control information which directs the communication apparatus to execute the functions of the above apparatus for determining layer-2 reachability.
The present invention fourthly relates to an apparatus, for use with each of at least one router provided in a layer-3 communication network comprised of a plurality of subnetworks which are logically defined over at least one layer-2-connected communication network, and for determining layer-2 reachability between first and second communication apparatuses each connected to the layer-3 communication network, where a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus. The present invention also relates to a product which, when used with a communication apparatus, is able to output control information which directs the communication apparatus to execute the functions of the above apparatus for use with each router in determining layer-2 reachability.
2. Description of the Related Art
2.1 LANs (local area networks) are constructed in respective sections or task groups in many companies and campuses, and those LANs are interconnected through relaying apparatuses called routers to form a company network or a campus network. Each LAN in such a network is an example of a subnetwork. Namely, a plurality of subnetworks are interconnected to a plurality of routers to form a network.
Each terminal connected to one of the above subnetworks can communicate with another terminal connected to the same subnetwork by directly sending a packet, while each terminal sends a packet to one of the plurality of routers which is located at a boundary of the subnetwork to which the terminal is connected, when the said each terminal communicates to another terminal which is connected to a different subnetwork. When the router receives the packet, the router determines to which router the packet is to be transferred, and then transfers the packet to the determined router. Thus, communication to a terminal connected to a different subnetwork is possible.
In a typical terminal, transmission processing of a packet is performed by an operating system (OS). The packet is transmitted based on a network-layer address, For example, according to the Internet protocol (IP), an IP address is used in transmission. The transmission processing of a packet according to the Internet protocol (IP) is explained below.
The operating system (OS) has a routing table corresponding to all the network-layer addresses which are reachable from the host (router) which contains the operating system, and each entry of the routing table contains a network address, an output interface of the host, a gateway address, and the like. The gateway address is an IP address of a router to which the packet is to be sent first from the its own (source) host, when a destination host belongs to a subnetwork which is different from the subnetwork to which the source host belongs. When the destination host and the source host belong to the same subnetwork, the gateway address is not an IP address of a router and, instead, is an IP address of the destination host or an IP address of its own host. The operating system (OS) searches the routing table using the IP address of the destination host as a search key, to obtain the output interface and the gateway address.
In addition, the operating system (OS) contains a data-link-layer address table for each interface, to indicate correspondence between the network-layer addresses and the data-link-layer addresses. For example, ARP (address resolution protocol) tables in UNIX systems having Ethernet interfaces, indicate correspondences between IP addresses and MAC (media access control) addresses. MAC addresses of L2 (layer 2) reachable hosts or gateways can be obtained from their IP addresses, to enable the source host to communicate with these L2 reachable hosts or gateways. When no entry corresponding to an IP address is found, an APR request is sent to all the hosts and gateways in the same subnetwork in accordance with the ARP protocol to obtain the MAC address corresponding to the IP address.
A similar protocol called ATMARP has been proposed for ATM networks. ATM addresses corresponding to IP addresses can be obtained in accordance with the ATMARP protocol. In addition, a procedure for management and control of a plurality of subnetworks over an ATM network, called IPOA (IP over ATM) has been proposed by M. Laubach, xe2x80x9cClassical IP and ARP over ATMxe2x80x9d, Request for comments: 1577, January 1994. According to the IPOA, a plurality of subnetworks, called LIS (Logical IP Subnetwork), are logically defined on an ATM network, and an ATMARP server is provided for each LIS to register and control ATM addresses of terminals in the LIS. Before each terminal sends a packet, the terminal searches its own routing table to determine an output interface, and then searches an ATMARP table which is provided corresponding to the determined output interface to obtain an ATM address or a VC (virtual connection) number of a host or router in the same LIS to which a packet is to be transferred next. When no ATM address corresponding to the IP address is found in the ATMARP table, the terminal inquires of the ATMARP server an ATM address corresponding to the IP address. After the terminal receives a response from the ATMARP server together with the ATM address to the router, each terminal can send the packet to the router as a next hop, and then the packet can be transferred through at least one router to a destination host in a different subnetwork (LIS) based on the IP address of the destination host.
However, the LISs are logically defined on an ATM network in which communication based on a data-link-layer address should be possible without using the router and the network-layer address. Therefore, when it is possible to obtain data-link-layer path information to a destination host in an LIS which is different from the LIS of the source host, it is unnecessary to send the packet through routers which are provided between LISs, and a direct virtual connection (called shortcut path) can be established to the destination host in the different LIS by using the data-link-layer address. In order to obtain the data-link-layer address of a destination host in the different LIS, a protocol called NHRP (Next Hop Resolution Protocol) has been proposed in IETF (Internet Engineering Task Force) by James V. Lucuani et al., xe2x80x9cNBMA Next Hop Resolution protocol (NHRP)xe2x80x9d, Routing over Large Cloud Working Group, INTERNET-DRAFT,  less than draft-ietf-rolc-nhrp-11.txt greater than . According to the NHRP, the procedure of the ATMARP is extended to a network containing a plurality of LISs.
According to the NHRP, a server called next hop server (NHS) is provided for each LIS, and each next hop server usually functions as a router between LISs. A terminal (or station) which establishes a virtual connection in accordance with the NHRP protocol is called next hop client (NHC). Each next hop client registers its own IP address and ATM address in the next hop server of the LIS to which the next hop client belongs. When a next hop client which wants to establish a virtual connection to a destination host, the next hop client, which is denoted here as a source next hop client, sends an NHRP request packet to the next hop server in the LIS to which the source next hop client belongs, where the NHRP request packet contains an IP address of the destination host. When the next hop server receives the NHRP request, and determines that the destination host belongs to an LIS which is different from the LIS which the next hop server controls, the next hop server transfers the NHRP request to another NHS (next hop server) in accordance with its own routing table and the IP address of the destination host. Thus, the NHRP request packet is transferred through a hop-by-hop path passing through routers until the NHRP request packet reaches a next hop server to which controls the LIS which the destination host belongs. When a next hop server, which receives the NHRP request, determines that the destination host belongs to the LIS which the next hop server controls, the next hop server searches its own ATM address table for the ATM address corresponding to the IP address of the destination host, and sends an NHRP response containing the ATM address of the destination host, to the source next hop client which has sent the NHRP request, tracing back the path through which the above the NHRP request has been transferred. When the next hop client receives the NHRP response containing the ATM address, the next hop client establishes a shortcut virtual connection (shortcut VC) to the destination host based on the received ATM address. The shortcut virtual connection does not pass a router, and therefore is free from the delays due to packet reconstruction and transfer in the router, to achieve high speed communication. Each next hop client communicates to another host in an LIS which is different from the LIS of the next hop client, through the hop-by-hop path passing through routers, until the ATM address is obtained as above, and then the hop-by-hop path is switched to the above shortcut virtual connection after the ATM address is obtained and the virtual connection established.
According to the conventional packet transmission procedure, the above search of the routing table for the output interface, and the search of the ARP table for the hardware address (data-link-layer address) corresponding to the IP address, are performed for each packet to be sent. When the destination host belongs to the same subnetwork as the source host, the source host searches the ARP table by using the IP address of the destination host as a search key. When the destination host does not belong to the same subnetwork as the source host, the source host searches the ARP table by using the IP address of the gateway router as a search key, where the IP address of the gateway router is obtained from the routing table by searching the routing table by using the IP address of the destination host as a search key. In the case of the ATM interface, the ATM address of a destination host in the same LIS as the source host is obtained from the ATMARP table. When the ATM address is not obtained from the ATMARP table, the source host inquires of the ATMARP server the ATM address corresponding to the IP address of the destination host. After the ATM address is obtained from the ATMARP server, a virtual connection is established to the destination host based on the ATMARP address, and the transmission is performed through the virtual connection. The obtained ATMARP address is written in the ATMARP table, and there is one-to-one correspondence between the virtual connection and an entry of the ATMARP table. When there is an entry, of the ATMARP table, containing an ATM address, and no virtual connection is established corresponding to the entry, a virtual connection corresponding to the entry of the ATMARP table is established before the transmission of a packet.
Since, according to the conventional procedure before the NHRP, all the transmissions to destination hosts in subnetworks other than the subnetwork to which the source host belongs, are performed through routers, the ARP table contains data-link-layer path information for only the router and the hosts in the same subnetwork as the subnetwork the source host belongs to. However, according to the NHRP procedure, ATM addresses of destination hosts in the subnetworks other than the subnetwork to which the source host belongs, are held in a data-link-layer path information table (which may be denoted as an NH cache hereinafter in this specification), and it is possible to transmit a packet through a shortcut virtual connection bypassing the routers, to a destination host in a subnetwork which is different from the subnetwork to which the source host belongs. In the NHRP procedure, it is necessary to give priority to a search for a shortcut virtual connection to a destination host in a different subnetwork, over a search for a virtual connection to a router in the same subnetwork as the source host, where the latter virtual connection to the router is used for transmission through routers. In the NHRP procedure, it is also desirable to reduce a processing amount and a processing time to realize high speed routing processing.
In addition, it is necessary to use the virtual connection to the router in the same subnetwork when there is no shortcut virtual connection to the destination host. However, the tables in the conventional next hop client initially contains no data-link-layer path information (no gateway address) corresponding to IP addresses of destination hosts in the same LIS as the source host. Therefore, the source host cannot start transmission of a packet until the virtual connection to the destination host in the same subnetwork is established.
Further, in the case wherein it is not possible to establish a shortcut path (virtual connection) to a destination host which belongs to a specific subnetwork, and a shortcut path (virtual connection) can be established from a source host to (a representative host of) the specific subnetwork, it is desirable to be able to utilize the shortcut path (virtual connection) to (the representative host of) the specific subnetwork, as a common shortcut path (virtual connection) to all the hosts in the specific subnetwork.
2.2 In addition to the above problems, it is necessary to determine whether or not first and second communication apparatuses, connected to a layer-3 (network-layer) communication network, can communicate with each other through only a layer-2 (data-link-layer) communication path, i.e., without passing through a router which routes a packet based on an destination (IP) address contained in the packet.
In various networks used in companies and campuses, one or more layer-2 communication networks such as FDDI, Ethernet, and ATM, are used. In addition, a plurality of such layer-2 communication networks of the same type or of different types, may be connected to each other through layer 2 connection devices such as bridges, to form a layer-2 communication network within which two arbitrary communication apparatuses connected thereto can communicate with each other by using a layer-2 communication path only. In this specification, all of these layer-2 communication networks including a single layer-2 communication network such as FDDI, Ethernet, and ATM, and any layer-2 communication network which is formed by connecting a plurality of layer-2 communication networks with one or more layer 2 connection devices, are denoted as layer-2-connected communication networks.
It is possible to logically define a layer-3 communication network on at least one of the above layer-2-connected communication network, and such a configuration of a layer-3 communication network logically defined over at least one layer-2-connected communication network is prevailingly used. Such a layer-3 communication network is usually divided into a plurality of subnetworks which are logically defined. As mentioned in the above section 2.1, these subnetworks may correspond to layer-2 communication networks on which the layer-3 communication network is logically formed. Further, the division into a plurality of subnetworks may be performed within a single layer-2-connected communication network for the purposes of security, network management policy, reduction of traffic, and use of existing configurations.
As explained in the above section 2.1, in the above layer-3 communication network, it is desirable for two communication apparatuses belonging to different subnetworks to communicate therebetween by using a layer-2 communication path only (shortcut path). The reachability in the data link layer (which is denoted as layer 2 reachability or L2 reachability in this specification) is a necessary condition for realizing the communication through the shortcut path. Therefore, it is required to investigate and determine the layer 2 reachability for communication between any two communication apparatuses belonging to different subnetworks.
However, conventionally, no way is provided for determining the layer 2 reachability in the layer-3 communication networks configured as above.
A first object of the present invention is to provide a process and an apparatus for storing, in a first communication apparatus, data-link-layer path information indicating a communication path in a data link layer from the first communication apparatus to one of at least one second communication apparatus, where the first and at least one second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses, in which the processing amount and the processing time in searching tables for routing are reduced.
A second object of the present invention is to provide a process and an apparatus for searching, at a first communication apparatus, for one of at least one piece of data-link-layer path information indicating a communication path in a data link layer from the first communication apparatus to one of at least one second communication apparatus, based on a network-layer address of the one of the at least one second communication apparatus, where the first communication apparatus and the at least one second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses, in which the processing amount and the processing time in searching tables for routing are reduced.
A third object of the present invention is to provide a process for searching, at a first communication apparatus, for one of at least one piece of data-link-layer path information indicating a communication path in a data link layer from the first communication apparatus to one of at least one second communication apparatus, based on a network-layer address of the one of the at least one second communication apparatus, where the first communication apparatus and the at least one second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses, in which a search for a data-link-layer path takes precedence over a search for a network-layer path passing through routers.
A fourth object of the present invention is to provide a process for determining a route for transmitting a message from a first communication apparatus to a second communication apparatus, where the first and second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses, and the plurality of subnetworks are connected through a plurality of routing apparatuses, in which a search for a data-link-layer path takes precedence over a search for a network-layer path passing through routers.
A fifth object of the present invention is to provide a process and an apparatus for searching, at a first communication apparatus, for one of at least one piece of data-link-layer path information indicating a communication path in a data link layer from the first communication apparatus to one of at least one second communication apparatus, based on a network-layer address of the one of the at least one second communication apparatus, where the first communication apparatus and the at least one second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses, in which a shortcut path (virtual connection) to a specific subnetwork can be utilized as a common shortcut path (virtual connection) to all the hosts in the specific subnetwork.
A sixth object of the present invention is to provide a communication apparatus which is capable of communicating with at least one other communication apparatus when the communication apparatus and the at least one other communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses, so that a source host can start transmission of a packet before a virtual connection to a destination host in the same subnetwork as the source host is established.
A seventh object of the present invention is to provide a process and an apparatus for determining layer-2 (data-link-layer) reachability between first and second communication apparatuses, where each of the first and second communication apparatuses are connected to a layer-3 (network-layer) communication network comprised of at least one router and a plurality of subnetworks which are logically defined over at least one layer-2-connected communication network.
An eighth object of the present invention is to provide an apparatus, for use with each of at least one router provided in a layer-3 communication network comprised of a plurality of subnetworks which are logically defined over at least one layer-2-connected communication network, and for determining layer-2 reachability between first and second communication apparatuses each connected to the layer-3 communication network, where a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus.
(1) According to a first aspect of the present invention, there is provided a process for storing, in a first communication apparatus, data-link-layer path information indicating a communication path in a data link layer from the first communication apparatus to one of at least one second communication apparatus, where the first and at least one second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The process contains the steps of (a) obtaining the data-link-layer path information based on a network-layer address of the one of the at least one second communication apparatus; (b) storing the data-link-layer path information in an entry of a first table; and (c) storing, in a second table, pointer information pointing to the entry in the first table, where the second table is provided for being looked up first, when a message is to be transmitted from the first communication apparatus.
(1xe2x80x941) In the process according to the first aspect of the present invention, the above first communication apparatus may contain a routing table for storing routing information indicating at least one communication path to at least one routing apparatus, corresponding to at least one network-layer address of the at least one second communication apparatus, where a message to be sent to each of the at least one second communication apparatus based on the network-layer address of the said each of the at least one second communication apparatus, is to be first transferred to one of the at least one routing apparatus corresponding to the network-layer address of the said each of the at least one second communication apparatus. The above first communication apparatus may further contain a routing cache for storing, in addition to the storing in the routing table, contents of a portion of the routing table, and the second table is provided in the routing cache.
(1-2) In the process according to the first aspect of the present invention, the above first communication apparatus may contain the routing table as described in the above (1xe2x80x941), and the second table is provided as a portion of said routing table.
(2) According to a second aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the first communication apparatus to execute the above process according to the first aspect of the present invention.
(3) According to a third aspect of the present invention, there is provided a process for storing, in a first communication apparatus, data-link-layer path information indicating a communication path in a data link layer from the first communication apparatus to one of at least one representative communication apparatus of one of a plurality of subnetworks, where the first communication apparatus is connected to a network which is logically divided, based on network-layer addresses, into the plurality of subnetworks; the process contains the steps of (a) obtaining the data-link-layer path information based on a network-layer address of one of at least one second communication apparatus, where the one of the at least one second communication apparatus belongs to the one of the plurality of subnetworks; (b) storing the data-link-layer path information in an entry of a first table; and (c) storing, in a second table, pointer information pointing to the entry in the first table, corresponding to the network-layer address of the one of the at least one second communication apparatus, where the second table is provided for being looked up first, when a message is to be transmitted from the first communication apparatus.
(3-1) In the above process according to the third aspect of the present invention, in step (a), subnet mask information indicating a subnet mask may further be obtained, where the subnet mask indicates which portion of the network-layer address of the one of the at least one second communication apparatus indicates the one of the plurality of subnetworks to which the one of the at least one second communication apparatus belongs. The process may further contain the sub-step of storing the subnet mask information in the second table.
(3-2) In the above process according to the third aspect of the present invention, in step (a), subnet mask information indicating a subnet mask may further be obtained, where the subnet mask indicates which portion of the network-layer address of the one of the at least one second communication apparatus indicates the one of the plurality of subnetworks to which the one of the at least one second communication apparatus belongs. The process may further contain the sub-step of storing the subnet mask information in the first table.
(4) According to a fourth aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the first communication apparatus to execute the above process according to the third aspect of the present invention. In addition, either of the above features (3-1) and (3-2) may be adopted in the process.
(5) According to a fifth aspect of the present invention, there is provided a communication apparatus which is capable of communicating with at least one other communication apparatus when the communication apparatus and the at least one other communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The communication apparatus contains a first table having at least one entry each for storing one of at least one piece of data-link-layer path information, each of the at least one piece of data-link-layer path information indicating a communication path in a data link layer to one of the at least one other communication apparatus; and a second table for storing at least one piece of pointer information each pointing to one of the at least one entry of the first table, and each of the at least one piece of pointer information corresponding to a network-layer address of one of the at least one other communication apparatus.
(6) According to a sixth aspect of the present invention, there is provided a communication apparatus which is capable of communicating with at least one other communication apparatus when the communication apparatus and the at least one other communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses, the communication apparatus comprising: a first table having at least one entry each for storing one of at least one piece of data-link-layer path information, each of the at least one piece of data-link-layer path information indicating a communication path in a data link layer from the communication apparatus to one of at least one representative communication apparatus of one of the plurality of subnetworks; and a second table for storing at least one piece of pointer information each pointing to one of the at least one entry of the first table, and each of the at least one piece of pointer information corresponding to a network-layer address of one of the at least one other communication apparatus.
(6-1) In the above communication apparatus according to the sixth aspect of the present invention, the second table may further store at least one piece of subnet mask information each piece indicating a subnet mask, where the subnet mask indicates which portion of the network-layer address of each of the at least one other communication apparatus corresponds to one of the plurality of subnetworks which contains the said each of the at least one other communication apparatus.
(6-2) In the above communication apparatus according to the sixth aspect of the present invention, the first table may further store at least one subnet mask information each piece indicating a subnet mask, where the subnet mask indicates which portion of the network-layer address of each of the at least one other communication apparatus corresponds to one of the plurality of subnetworks which contains the said each of the at least one other communication apparatus.
(7) According to a seventh aspect of the present invention, there is provided a process for searching, at a first communication apparatus, for one of at least one piece of data-link-layer path information indicating a communication path in a data link layer from the first communication apparatus to one of at least one second communication apparatus, based on a network-layer address of the one of the at least one second communication apparatus, where the first communication apparatus and the at least one second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The first communication apparatus contains a first table having at least one entry storing the at least one piece of data-link-layer path information each piece indicating a communication path in the data link layer from the first communication apparatus to one of the at least one second communication apparatus, and a second table storing at least one piece of pointer information each pointing to one of the at least one entry of the first table, where each of the at least one entry of the first table stores one of the at least one piece of data-link-layer path information. The above process contains the steps of (a) searching the second table based on the network-layer address of the one of the at least one second communication apparatus, to obtain one of the at least one piece of pointer information corresponding to the network-layer address of the one of the at least one second communication apparatus; and (b) obtaining one of the at least one piece of data-link-layer path information stored in one of the at least one entry which is pointed to by the one of the at least one piece of pointer information obtained in step (a).
(8) According to an eighth aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the first communication apparatus to execute the above process according to the seventh aspect of the present invention.
(9) According to a ninth aspect of the present invention, there is provided a process for searching, at a first communication apparatus, for one of at least one piece of data-link-layer path information indicating a communication path in a data link layer from the first communication apparatus to one of at least one representative communication apparatus of one of a plurality of subnetworks, based on a network-layer address of one of at least one second communication apparatus, where the first communication apparatus and the at least one second communication apparatuses are each connected to a network which is logically divided, based on network-layer addresses, into the plurality of subnetworks, and the one of the at least one second communication apparatus belongs to the one of the plurality of subnetworks. The first communication apparatus contains a first table having at least one entry and storing the at least one piece of data-link-layer path information each piece indicating a communication path in the data link layer from the first communication apparatus to one of the at least one representative communication apparatus, and a second table having at least one entry each having an address, storing one of at least one piece of pointer information each pointing to one of the at least one entry of the first table, corresponding to a network-layer address of one of the at least one second communication apparatus, and further storing one of at least one piece of subnet mask information corresponding to the network-layer address of the one of the at least one second communication apparatus. The above process contains the steps of (a) obtaining one of the at least one piece of subnet mask information from one of the at least one entry of the second table; (b) comparing a first subnetwork address portion of the address of the one of the at least one entry of the second table with a second subnetwork address portion of said network-layer address of the one of the at least one second communication apparatus by using the one of the at least one piece of subnet mask information obtained in step (a), to determine whether or not the first subnetwork address portion coincides with the second subnetwork address portion; and (c) repeating steps (a) and (b) to obtain one of the at least one entry of the second table, where the first subnetwork address portion of the one of the at least one entry of the second table determined in step (b) coincides with the second subnetwork address portion; (d) obtaining one of the at least one piece of pointer information stored in the one of the at least one entry obtained in step (c); and (e) obtaining one of the at least one piece of data-link-layer path information stored in one of the at least one entry of the first table which entry is pointed to by the one of the at least one piece of pointer information obtained in step (d).
(10) According to a tenth aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the first communication apparatus to execute the above process according to the ninth aspect of the present invention.
(11) According to an eleventh aspect of the present invention, there is provided a process for searching, at a first communication apparatus, for one of at least one piece of data-link-layer path information indicating a communication path in a data link layer from the first communication apparatus to one of at least one representative communication apparatus of one of plurality of subnetworks, based on a network-layer address of one of at least one second communication apparatus, where the first communication apparatus and the at least one second communication apparatuses are each connected to a network which is logically divided, based on network-layer addresses, into the plurality of subnetworks, and the one of at least one second communication apparatus belongs to the one of plurality of subnetworks. The first communication apparatus contains a first table having at least one entry and storing the at least one piece of data-link-layer path information each piece indicating a communication path in the data link layer from the first communication apparatus to one of the at least one representative communication apparatus, and further storing one of at least one piece of subnet mask information corresponding to the one of the at least one representative communication apparatus, and a second table having at least one entry each having an address, storing one of at least one piece of pointer information each pointing to one of the at least one entry of the first table, corresponding to a network-layer address of one of the at least one second communication apparatus. The above process contains the steps of (a) obtaining one of the at least one piece of pointer information from one of the at least one entry of the second table; (b) obtaining one of the at least one piece of subnet mask information from one of the at least one entry of the first table, where the one of the at least one entry of the first table is pointed to by the one of the at least one piece of pointer information obtained in step (a); (c) comparing a first subnetwork address portion of the address of the one of the at least one entry of the second table with a second subnetwork address portion of said network-layer address of the one of the at least one second communication apparatus by using the one of the at least one piece of subnet mask information obtained in step (b), to determine whether or not the first subnetwork address portion coincides with the second subnetwork address portion; and (d) repeating steps (a) to (c) to determine one of the at least one entry of the second table, where the first subnetwork address portion of the one of the at least one entry of the second table determined in step (c) coincides with the second subnetwork address portion; and (e) obtaining one of the at least one piece of data-link-layer path information stored in one of the at least one entry of the first table which entry is pointed to by the one of the at least one piece of pointer information which is obtained in step (d) and stored in the one of the at least one entry of the second table determined in step (d).
(12) According to an twelfth aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the first communication apparatus to execute the above process according to the eleventh aspect of the present invention.
(13) According to a thirteenth aspect of the present invention, there is provided a process for determining a route for transmitting a message from a first communication apparatus to a second communication apparatus, where the first and second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses, and the plurality of subnetworks are connected through a plurality of routing apparatuses. The first communication apparatus contains a first table having at least one entry each being able to store one of at least one piece of data-link-layer path information, each of the at least one piece of data-link-layer path information indicating a communication path in a data link layer to one of the at least one second communication apparatus, a second table being able to store at least one piece of pointer information each pointing to one of the at least one entry of the first table, and each of the at least one piece of pointer information corresponding to a network-layer address of one of the at least one second communication apparatus, and a third table for storing at least one piece of network-layer path information so that one of the at least one piece of network-layer path information can be searched for based on at least one network-layer address of the at least one second communication apparatus, for use in transmission through at least one of the plurality of routing apparatuses to the at least one second communication apparatus. The above process contains the steps of (a) searching the second table, based on the network-layer address of the one of the at least one second communication apparatus, for one of the at least one piece of pointer information corresponding to the network-layer address of the one of the at least one second communication apparatus; (b) trying to obtain one of the at least one piece of data-link-layer path information stored in one of the at least one entry which is pointed to by the one of the at least one piece of pointer information obtained from the second table, when the one of the at least one piece of pointer information is obtained in step (a); and (c) searching the third table based on the network-layer address of the one of the at least one second communication apparatus, to obtain one of the at least one piece of network-layer path information corresponding to the network-layer address of the one of the at least one second communication apparatus, when no piece of pointer information is obtained corresponding to the network-layer address of the one of the at least one second communication apparatus, in the step (a), or no piece of data-link-layer path information corresponding to the one of the at least one piece of pointer information is obtained in step (b).
(14) According to a fourteenth aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the first communication apparatus to execute the above process according to the thirteenth aspect of the present invention.
(15) According to a fifteenth aspect of the present invention, there is provided a process for determining a route for transmitting a message from a first communication apparatus to a second communication apparatus, where the first and second communication apparatuses are each connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses, and the plurality of subnetworks are connected through a plurality of routing apparatuses. The first communication apparatus contains a first table having at least one entry each being able to store one of at least one piece of data-link-layer path information, each of the at least one piece of data-link-layer path information indicating a communication path in a data link layer to one of the at least one second communication apparatus, a second table being able to store at least one piece of pointer information each pointing to one of the at least one entry of the first table, and each of the at least one piece of pointer information corresponding to a network-layer address of one of the at least one second communication apparatus, and a third table for storing at least one piece of network-layer path information so that one of the at least one piece of network-layer path information can be searched for based on at least one network-layer address of the at least one second communication apparatus, for use in transmission through at least one of the plurality of routing apparatuses to the at least one second communication apparatus. The above second table is further able to store at least a portion of the above at least one piece of network-layer path information stored in said third table. The above process contains the steps of (a) searching the second table for an entry corresponding to the network-layer address of the above one of the at least one second communication apparatus, to determine whether or not the above entry exists in the second table; (b) determining whether or not the above entry of the second table contains one of the above at least one piece of pointer information corresponding to the network-layer address of the above one of the at least one second communication apparatus, when it is determined in step (a) that the above entry exists in the second table; (c) trying to obtain one of the above at least one piece of data-link-layer path information stored in one of the above at least one entry which is pointed to by the above one of the at least one piece of pointer information obtained from the second table, when it is determined in step (b) that the one of the at least one piece of pointer information is stored in the above entry of the second table; (d) trying to obtain, from the entry of the second table, one of the above at least one piece of network-layer path information corresponding to the network-layer address of the above one of the at least one second communication apparatus, when it is determined in step (b) that the one of said at least one piece of pointer information is not stored in the entry of the second table; and (e) searching the third table based on the network-layer address of the one of the at least one second communication apparatus, to obtain one of the at least one piece of network-layer path information corresponding to the network-layer address of the one of the at least one second communication apparatus, when the above one of the at least one piece of data-link-layer path information is obtained in neither of steps (c) and (d).
(16) According to a sixteenth aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the first communication apparatus to execute the above process according to the fifteenth aspect of the present invention.
(17) According to a seventeenth aspect of the present invention, there is provided a process for determining a route for transmitting a message from a first communication apparatus to one of at least one representative communication apparatus of one of a plurality of subnetworks, where the first communication apparatus is connected to a network which is logically divided, based on network-layer addresses, into the plurality of subnetworks, and the plurality of subnetworks are connected through a plurality of routing apparatuses. The first communication apparatus contains a first table having at least one entry each being able to store one of at least one piece of data-link-layer path information, each of the at least one piece of data-link-layer path information indicating a communication path in a data link layer to one of the at least one representative communication apparatus, a second table having at least one entry, each entry having an address, and the second table being able to store at least one piece of pointer information each pointing to one of the at least one entry of the first table, and each of the at least one piece of pointer information corresponding to a network-layer address of one of at least one second communication apparatus, and being further able to store one of at least one piece of subnet mask information corresponding to the network-layer address of the one of the at least one second communication apparatus, where the one of the at least one second communication apparatus belongs to one of the plurality of subnetworks, and a third table for storing at least one piece of network-layer path information so that one of the at least one piece of network-layer path information can be searched for based on at least one network-layer address of the at least one second communication apparatus, for use in transmission through at least one of the plurality of routing apparatuses to the at least one representative communication apparatus. The above process contains the steps of (a) trying to obtain one of the at least one piece of subnet mask information from one of the at least one entry of the second table; (b) comparing, when the one of the at least one piece of subnet mask information is obtained in step (a), a first subnetwork address portion of the address of the one of the at least one entry of the second table with a second subnetwork address portion of said network-layer address of the one of the at least one second communication apparatus by using the one of the at least one piece of subnet mask information obtained in step (a), to determine whether or not the first subnetwork address portion coincides with the second subnetwork address portion; (c) repeating steps (a) and (b) to obtain one of the at least one entry of the second table, where the first subnetwork address portion of the one of the at least one entry of the second table determined in step (b) coincides with the second subnetwork address portion; (d) determining, when the one of the at least one entry of the second table is obtained in step (c), whether or not the one of the at least one entry of the second table obtained in step (c) contains one of the at least one piece of pointer information; (e) trying to obtain, when it is determined in step (d) that the one of the at least one entry of the second table obtained in step contains one of the at least one piece of pointer information, one of the at least one piece of data-link-layer path information stored in one of the at least one entry of the first table which entry is pointed to by the one of the at least one piece of pointer information stored in the one of the at least one entry; and (f) searching the third table based on the network-layer address of the one of the at least one second communication apparatus, to obtain one of the at least one piece of network-layer path information corresponding to the network-layer address of the one of the at least one second communication apparatus, when no piece of subnet mask information is obtained in step (a), or no entry of the second table is obtained in step (c), or no piece of pointer information is stored in the one of the at least one entry of the second table obtained in step (c), or no piece of data-link-layer path information is obtained in step (e).
(18) According to a eighteenth aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the communication apparatus to execute the above process according to the seventeenth aspect of the present invention.
(19) According to a nineteenth aspect of the present invention, there is provided a process for determining a route for transmitting a message from a first communication apparatus to one of at least one representative communication apparatus of one of a plurality of subnetworks, where the first communication apparatus is connected to a network which is logically divided, based on network-layer addresses, into the plurality of subnetworks, and the plurality of subnetworks are connected through a plurality of routing apparatuses. The first communication apparatus contains a first table having at least one entry each being able to store one of at least one piece of data-link-layer path information, each of the at least one piece of data-link-layer path information indicating a communication path in a data link layer to one of the at least one representative communication apparatus, a second table having at least one entry, each entry having an address, and the second table being able to store at least one piece of pointer information each pointing to one of the at least one entry of the first table, and each of the at least one piece of pointer information corresponding to a network-layer address of one of at least one second communication apparatus, and being further able to store one of at least one piece of subnet mask information corresponding to the network-layer address of the one of the at least one second communication apparatus, where the one of the at least one second communication apparatus belongs to one of the plurality of subnetworks, and a third table for storing at least one piece of network-layer path information so that one of the at least one piece of network-layer path information can be searched for based on at least one network-layer address of the at least one second communication apparatus, for use in transmission through at least one of the plurality of routing apparatuses to the at least one representative communication apparatus. The above second table is further able to store at least a portion of the above at least one piece of network-layer path information stored in the third table. The above process contains the steps of (a) trying to obtain one of the at least one piece of subnet mask information from one of the at least one entry of the second table; (b) comparing, when the one of the at least one piece of subnet mask information is obtained in step (a), a first subnetwork address portion of the address of the one of the at least one entry of the second table with a second subnetwork address portion of the network-layer address of the one of the at least one second communication apparatus by using the one of the at least one piece of subnet mask information obtained in step (a), to determine whether or not the first subnetwork address portion coincides with the second subnetwork address portion; (c) repeating steps (a) and (b) to obtain one of the at least one entry of the second table, where the first subnetwork address portion of the one of the at least one entry of the second table determined in step (b) coincides with the second subnetwork address portion; (d) determining, when the one of the at least one entry of the second table is obtained in step (c), whether or not the one of the at least one entry of the second table obtained in step (c) contains one of the at least one piece of pointer information; (e) trying to obtain, when it is determined in step (d) that the one of the at least one entry of the second table obtained in step contains one of the at least one piece of pointer information, one of the at least one piece of data-link-layer path information stored in one of the at least one entry of the first table which entry is pointed to by the one of the at least one piece of pointer information stored in the one of the at least one entry; (f) trying to obtain, from the entry of the second table, one of the at least one piece of network-layer path information corresponding to the network-layer address of the one of the at least one second communication apparatus, when it is determined in step (d) that the one of the at least one piece of pointer information is not stored in the entry of the second table; and (g) searching the third table based on the network-layer address of the one of the at least one second communication apparatus, to obtain one of the at least one piece of network-layer path information corresponding to the network-layer address of the one of the at least one second communication apparatus, when no piece of subnet mask information is obtained in step (a), or no entry of the second table is obtained in step (c), or the one of the at least one piece of network-layer path information is obtained in neither of steps (e) and (f).
(20) According to a twentieth aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the communication apparatus to execute the above process according to the nineteenth aspect of the present invention.
(21) According to a twenty-first aspect of the present invention, there is provided a process for determining a route for transmitting a message from a first communication apparatus to one of at least one representative communication apparatus of one of a plurality of subnetworks, where the first communication apparatus is connected to a network which is logically divided, based on network-layer addresses, into the plurality of subnetworks, and the plurality of subnetworks are connected through a plurality of routing apparatuses. The first communication apparatus contains a first table having at least one entry each being able to store one of at least one piece of data-link-layer path information, each of the at least one piece of data-link-layer path information indicating a communication path in a data link layer to one of the at least one representative communication apparatus, and being further able to store one of at least one piece of subnet mask information corresponding to the one of the at least one representative communication apparatus, a second table having at least one entry, each entry having an address, and the second table being able to store at least one piece of pointer information each pointing to one of the at least one entry of the first table, and each of the at least one piece of pointer information corresponding to a network-layer address of one of at least one second communication apparatus, where the one of the at least one second communication apparatus belongs to one of the plurality of subnetworks, and a third table for storing at least one piece of network-layer path information so that one of the at least one piece of network-layer path information can be searched for based on at least one network-layer address of the at least one second communication apparatus, for use in transmission through at least one of the plurality of routing apparatuses to the at least one representative communication apparatus. The above process contains the steps of (a) trying to obtain one of the at least one piece of pointer information from one of the at least one entry of the second table; (b) trying to obtain, when the one of the at least one entry of the second table obtained in step (a) contains one of the at least one piece of pointer information, one of the at least one piece of subnet mask information from one of the at least one entry of the first table, where the one of the at least one entry of the first table is pointed to by the one of the at least one piece of pointer information obtained in step (a); (c) comparing, when the one of the at least one piece of subnet mask information is obtained in step (b), a first subnetwork address portion of the address of the one of the at least one entry of the second table with a second subnetwork address portion of said network-layer address of the one of the at least one second communication apparatus by using the one of the at least one piece of subnet mask information obtained in step (b), to determine whether or not the first subnetwork address portion coincides with the second subnetwork address portion; and (d) repeating steps (a) to (c) to obtain one of the at least one entry of the second table, where the first subnetwork address portion of the one of the at least one entry of the second table determined in step (c) coincides with the second subnetwork address portion; (e) trying to obtain, when the one of the at least one entry of the second table is obtained in step (d), one of the at least one piece of data-link-layer path information stored in one of the at least one entry of the first table which entry is pointed to by the one of the at least one piece of pointer information stored in the one of the at least one entry of the second table obtained in step (d); and (f) searching the third table based on the network-layer address of the one of the at least one second communication apparatus, to obtain one of the at least one piece of network-layer path information corresponding to the network-layer address of the one of the at least one second communication apparatus, when no piece of pointer information is stored in the at least one entry of the second table, or no piece of subnet mask information is obtained in step (b) through the repeating operation in step (d), or no entry of the second table is obtained in step (d), or no piece of data-link-layer path information is obtained in step (e).
(22) According to an twenty-second aspect of the present invention, there is provided a product for use with a first communication apparatus which is capable of communicating with at least one second communication apparatus when the first communication apparatus and the at least one second communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The product, when used with the first communication apparatus, is able to output control information which directs the communication apparatus to execute the above process according to the twenty-first aspect of the present invention.
(23) According to a twenty-third aspect of the present invention, there is provided a communication apparatus which is capable of communicating with at least one other communication apparatus when the communication apparatus and the at least one other communication apparatus are connected to a network which is logically divided into a plurality of subnetworks based on network-layer addresses. The communication apparatus contains a routing table for storing routing information indicating at least one communication path to at least one routing apparatus, corresponding to at least one network-layer address of the at least one other communication apparatus, where a message to be sent to each of the at least one other communication apparatus based on the network-layer address of the said each of the at least one other communication apparatus, is to be first transferred to one of the at least one routing apparatus corresponding to the network-layer address of the said each of the at least one other communication apparatus; and a data-link-layer path table for storing at least one piece of data-link-layer path information, each of the at least one piece of data-link-layer path information indicating a communication path in a data link layer to one of the at least one other communication apparatus. The data-link-layer path table has, as one of at least one entry thereof, a default entry for storing a piece of data-link-layer path information which indicates a communication path in the data link layer enabling a communication to every one of the at least one other communication apparatus.
(24) According to the twenty-fourth aspect of the present invention, there is provided a process for determining layer-2 reachability between first and second communication apparatuses each connected to a layer-3 communication network comprised of at least one router and a plurality of subnetworks logically defined over at least one layer-2-connected communication network. The process contains the steps of: (a) determining a layer-3 communication path from the first communication apparatus to the second communication apparatus through a portion or all of the at least one router, based on a layer-3 address of the second communication apparatus, where a first router on the layer-3 communication path is connected to the first communication apparatus through a first interface and a first one of the plurality of subnetworks on the layer-3 communication path, and a second router on the layer-3 communication path is connected to the second communication apparatus through a second interface and a second one of the plurality of subnetworks on the layer-3 communication path; (b) identifying a first one of the at least one layer-2-connected communication network to which the first interface is connected; (c) identifying a second one of the at least one layer-2-connected communication network to which the second interface is connected; and (d) determining whether or not the first and second ones of the at least one layer-2-connected communication network are identical, to thereby determine whether or not the first and second communication apparatuses can communicate with each other by using a layer-2 communication path only.
(24-1) In the above process according to the twenty-fourth aspect of the present invention, the layer-3 communication network may contain at least one storage for storing at least one piece of interface-network correspondence information indicating one of the at least one layer-2-connected communication network to which each of the first and second interfaces is connected. The operations in steps (b) and (c) may be performed based on the at least one piece of interface-network correspondence information.
(24-2) In the above process according to the twenty-fourth aspect of the present invention, the layer-3 communication network may contain a decision device which performs the operation of step (d). The process may further contain the sub-steps of, (e) transmitting a result of the operation of step (b), from the first router to the decision device, and (f) transmitting a result of the operation of step (c), from the second router to the decision device.
(24-3) In the above process according to the twenty-fourth aspect of the present invention, the second router may contain a decision device which performs the operation of step (d). The process may further contain the sub-steps of (e) transmitting a result of the operation of step (b) from the first router to the second router and (f) transmitting a result of the operation of step (d) from the second router to the first router.
(24-4) In the above process according to the twenty-fourth aspect of the present invention, the first router may contain a decision device which performs the operation of step (d). The process may further contain the sub-step of (e) transmitting a result of the operation of step (c) from the second router to the first router.
(25) According to the twenty-fifth aspect of the present invention, there is provided an apparatus for determining layer-2 reachability between first and second communication apparatuses each connected to a layer-3 communication network comprised of at least one router and a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus. The apparatus contains a first identifying unit for identifying a first one of the at least one layer-2-connected communication network to which a first interface of a first router on the layer-3 communication path is connected, where the first router is connected to the first communication apparatus through the first interface and a first one of the plurality of subnetworks on the layer-3 communication path; a second identifying unit for identifying a second one of the at least one layer-2-connected communication network to which a second interface of a second router on the layer-3 communication path is connected, where the second router is connected to the second communication apparatus through the second interface and a second one of the plurality of subnetworks on the layer-3 communication path; a determining unit for determining whether or not the first and second ones of the at least one layer-2-connected communication network are identical, to thereby determine whether or not the first and second communication apparatuses can communicate with each other by using a layer-2 communication path only.
(25-1) In the above apparatus according to the twenty-fifth aspect of the present invention, one of the layer-3 communication network and the apparatus may contain at least one interface-network correspondence information storing unit for storing at least one piece of interface-network correspondence information indicating the first and second ones of the at least one layer-2-connected communication network corresponding to the first and second interfaces, respectively. The operation of the determining unit may be performed based on the at least one piece of interface-network correspondence information.
(25-2) In the above apparatus according to (25-1), one of the layer-3 communication network and the apparatus may contain an interface-network correspondence setting unit for setting the at least one piece of interface-network correspondence information in the at least one interface-network correspondence information storing unit.
(26) According to the twenty-sixth aspect of the present invention, there is provided a product for use with an apparatus for determining layer-2 reachability between first and second communication apparatuses each connected to a layer-3 communication network comprised of at least one router and a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus. The product, when used with the apparatus, is able to output control information which directs the apparatus to realize the units defined in the twenty-fifth aspect of the present invention.
(27) According to the twenty-seventh aspect of the present invention, there is provided an apparatus for determining layer-2 reachability between first and second communication apparatuses each connected to a layer-3 communication network comprised of at least one router and a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus. The apparatus contains a first interface identifying unit for identifying a first interface of a first router on the layer-3 communication path, where the first router is connected to the first communication apparatus through the first interface and a first one of the plurality of subnetworks on the layer-3 communication path; a second interface identifying unit for identifying a second interface of a second router on the layer-3 communication path, where the second router is connected to the second communication apparatus through the second interface and a second one of the plurality of subnetworks on the layer-3 communication path; a first network identifying unit for identifying a first one of the at least one layer-2-connected communication network to which the first interface is connected; a second network identifying unit for identifying a second one of the at least one layer-2-connected communication network to which the second interface is connected; a determining unit for determining whether or not the first and second ones of the at least one layer-2-connected communication network are identical, to thereby determine whether or not the first and second communication apparatuses can communicate with each other by using a layer-2 communication path only.
(27-1) In the above apparatus according to the twenty-seventh aspect of the present invention, one of the layer-3 communication network and the apparatus may contain at least one interface-network correspondence information storing unit for storing at least one piece of interface-network correspondence information indicating the first and second ones of the at least one layer-2-connected communication network corresponding to the first and second interfaces, respectively. The operations of the first and second network identifying units may be performed based on the at least one piece of interface-network correspondence information.
(27-2) In the above apparatus according to (27-1), one of the layer-3 communication network and the apparatus may contain an interface-network correspondence setting unit for setting the at least one piece of interface-network correspondence information in the at least one interface-network correspondence information storing unit.
(28) According to the twenty-eighth aspect of the present invention, there is provided a product for use with an apparatus for determining layer-2 reachability between first and second communication apparatuses each connected to a layer-3 communication network comprised of at least one router and a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus. The product, when used with the apparatus, is able to output control information which directs the apparatus to realize the units defined in the twenty-seventh aspect of the present invention.
(29) According to the twenty-ninth aspect of the present invention, there is provided a process for determining layer-2 reachability between first and second communication apparatuses each connected to a layer-3 communication network comprised of at least one router and a plurality of subnetworks logically defined over at least one layer-2-connected communication network. The process contains the steps of: (a) transmitting a first message containing a layer-3 address of the second communication apparatus, from the first communication apparatus to a first router among the at least one router, where the first communication apparatus and the first router are connected to a first one of the plurality of subnetworks; (b) receiving, at the first router, the first message through a first interface; (c) identifying a first one of the at least one layer-2-connected communication network to which the first interface is connected; (d) transmitting a second message containing the layer-3 address of the second communication apparatus and network information indicating the first one of the at least one layer-2-connected communication network, from the first router to a second router among the at least one router, on a layer-3 communication path passing a portion or all of the at least one router and being determined by the portion or all of the at least one router based on the layer-3 address of the second communication apparatus, where the second router is connected to the second communication apparatus through a second interface of the second router and a second one of the plurality of subnetworks on the layer-3 communication path; (e) receiving the second message at the second router; (f) identifying a second one of the at least one layer-2-connected communication network to which the second interface is connected; and (g) determining whether or not the first and second ones of the at least one layer-2-connected communication network are identical, to thereby determine whether or not the first and second communication apparatuses can communicate with each other by using a layer-2 communication path only.
(29-1) In the above process according to the twenty-ninth aspect of the present invention, the first router may contain a storage for storing a first piece of interface-network correspondence information indicating the first one of the at least one layer-2-connected communication network to which the first interface is connected. The second router may contain a storage for storing a second piece of interface-network correspondence information indicating the second one layer-2-connected communication network to which the second interface is connected. The operations in steps (c) and (f) may be performed based on the first and second pieces of interface-network correspondence information, respectively.
(30) According to the thirtieth aspect of the present invention, there is provided an apparatus, for use with each of at least one router provided in a layer-3 communication network comprised of a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and for determining layer-2 reachability between first and second communication apparatuses each connected to the layer-3 communication network, where a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus. The apparatus contains a network identifying unit, a transmitting unit, a receiving unit, and a determining unit. The network identifying unit identifies a first one of the at least one layer-2-connected communication network to which a first interface of the said each of the at least one router is connected, in the first case wherein the said each of the at least one router is connected to the first communication apparatus through the first interface of the router and a first one of the plurality of subnetworks, and the said each of the at least one router is a first router on the layer-3 communication path, and the first interface is on the layer-3 communication path. The network identifying unit identifies a second one of the at least one layer-2-connected communication network to which a second interface of the said each of the at least one router is connected, in the second case wherein the said each of the at least one router is connected to the second communication apparatus through the second interface of the router and a second one of the plurality of subnetworks, and the said each of the at least one router is a second router on the layer-3 communication path, and the second interface is on the layer-3 communication path. In the above first case, the transmitting unit transmits network information indicating the first one of the at least one layer-2-connected communication network, from the first router to the second router. In the second case, the receiving unit receives the network information transmitted from the first router. In the second case, the determining unit determines whether or not the first and second ones of the at least one layer-2-connected communication network are identical, to thereby determine whether or not the first and second communication apparatuses can communicate with each other by using a layer-2 communication path only.
(30-1) In the above apparatus according to the thirtieth aspect of the present invention, one of the said each of the at least one router and the apparatus may contain at least one interface-network correspondence information storing unit for storing at least one piece of interface-network correspondence information indicating one of the at least one layer-2-connected communication network corresponding to each of at least one interface which the said each of the at least one router comprises. The operations of the network identifying units may be performed based on the at least one piece of interface-network correspondence information.
(30-2) In the above apparatus according to (30-1), one of the said each of the at least one router and the apparatus may contain an interface-network correspondence setting unit for setting the at least one piece of interface-network correspondence information in the at least one interface-network correspondence information storing unit.
(31) According to the thirty-first aspect of the present invention, there is provided a product for use with an apparatus, for use with each of at least one router provided in a layer-3 communication network comprised of a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and for determining layer-2 reachability between first and second communication apparatuses each connected to the layer-3 communication network, where a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus. The product, when used with the apparatus, is able to output control information which directs the apparatus to realize the units defined in the thirtieth aspect of the present invention.
(32) According to the thirty-second aspect of the present invention, there is provided a process for determining layer-2 reachability between first and second communication apparatuses each connected to a layer-3 communication network comprised of at least one router and a plurality of subnetworks logically defined over at least one layer-2-connected communication network. The process contains the steps of: (a) transmitting a first message containing a layer-3 address of the second communication apparatus, from the first communication apparatus to a first router among the at least one router, where the first communication apparatus and the first router are connected to a first one of the plurality of subnetworks; (b) receiving, at the first router, the first message through a first interface; (c) identifying a first one of the at least one layer-2-connected communication network to which the first interface is connected; (d) transmitting a second message containing the layer-3 address of the second communication apparatus, from the first router to a second router among the at least one router, on a layer-3 communication path passing a portion or all of the at least one router and being determined by the portion or all of the at least one router based on the layer-3 address of the second communication apparatus, where the second router is connected to the second communication apparatus through a second interface of the second router and a second one of the plurality of subnetworks on the layer-3 communication path; (e) receiving, at the second router, the second message transmitted from the first router through the layer-3 communication path; (f) identifying a second one of the at least one layer-2-connected communication network to which the second interface is connected; (g) transmitting a third message containing the second one of the at least one layer-2-connected communication network, from the second router to the first router through the layer-3 communication path; (h) receiving, at the first router, the third message transmitted from the second router through the layer-3 communication path; and (i) determining whether or not the first and second ones of the at least one layer-2-connected communication network are identical, to thereby determine whether or not the first and second communication apparatuses can communicate with each other by using a layer-2 communication path only.
(32-1) In the above process according to the thirty-second aspect of the present invention, the first router may contain a storage for storing a first piece of interface-network correspondence information indicating the first one of the at least one layer-2-connected communication network to which the first interface is connected. The second router may contain a storage for storing a second piece of interface-network correspondence information indicating the second one layer-2-connected communication network to which the second interface is connected. The operations in steps (c) and (f) may be performed based on the first and second pieces of interface-network correspondence information, respectively.
(33) According to the thirty-third aspect of the present invention, there is provided an apparatus, for use with each of at least one router provided in a layer-3 communication network comprised of a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and for determining layer-2 reachability between first and second communication apparatuses each connected to the layer-3 communication network, where a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus. The apparatus contains a network identifying unit, a transmitting unit, a receiving unit, and a determining unit. The network identifying unit identifies a first one of the at least one layer-2-connected communication network to which a first interface is connected, in the first case wherein the said each of the at least one router is connected to the first communication apparatus through the first interface of the router and a first one of the plurality of subnetworks, and the said each of the at least one router is a first router on the layer-3 communication path, and the first interface is on the layer-3 communication path. The network identifying unit identifies a second one of the at least one layer-2-connected communication network to which a second interface is connected, in the second case wherein the said each of the at least one router is connected to the second communication apparatus through the second interface of the router and a second one of the plurality of subnetworks, the said each of the at least one router is a second router on the layer-3 communication path, and the second interface is on the layer-3 communication path. In the second case, the transmitting unit transmits network information indicating the second one of the at least one layer-2-connected communication network, from the second router to the first router. In the first case, the receiving unit receives the network information transmitted from the second router. In the first case, the determining unit determines whether or not the first and second ones of the at least one layer-2-connected communication network are identical, to thereby determine whether or not the first and second communication apparatuses can communicate with each other by using a layer-2 communication path only.
(33-1) In the above apparatus according to the thirty-third aspect of the present invention, one of the said each of the at least one router and the apparatus may contain at least one interface-network correspondence information storing unit for storing at least one piece of interface-network correspondence information indicating one of the at least one layer-2-connected communication network corresponding to each of at least one interface which the said each of the at least one router comprises. The operations of the network identifying units may be performed based on the at least one piece of interface-network correspondence information.
(33-2) In the above apparatus according to (33-1), one of the said each of the at least one router and the apparatus may contain an interface-network correspondence setting unit for setting the at least one piece of interface-network correspondence information in the at least one interface-network correspondence information storing unit.
(34) According to the thirty-fourth aspect of the present invention, there is provided a product for use with an apparatus, for use with each of at least one router provided in a layer-3 communication network comprised of a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and for determining layer-2 reachability between first and second communication apparatuses each connected to the layer-3 communication network, where a layer-3 communication path passing a portion or all of the at least one router can be determined by the portion or all of the at least one router based on a layer-3 address of the second communication apparatus. The product, when used with the apparatus, is able to output control information which directs the apparatus to realize the units defined in the thirty-third aspect of the present invention.
(35) According to the thirty-fifth aspect of the present invention, there is provided a process for determining, during transfer of a message, layer-2 reachability between first and second communication apparatuses each connected to a layer-3 communication network comprised of at least one router and a plurality of subnetworks logically defined over at least one layer-2-connected communication network, where the message contains a layer-3 address of the second communication apparatus, the transfer of the message is performed on a layer-3 communication path passing through a portion or all of the at least one router from the first communication apparatus to the second communication apparatus, and the layer-3 communication path is determined based on the layer-3 address of the second communication apparatus. The process contains the steps of (a) identifying, at each of the portion or all of the at least one router, a first one of the at least one layer-2-connected communication network to which a first interface of the said each of the portion or all of the at least one router is connected, and a second one of the at least one layer-2-connected communication network to which a second interface of the said each of the portion or all of the at least one router is connected, where the message is received through the first interface, and the second interface is determined to be an output interface for the message, based on the layer-3 address of the second communication apparatus; (b) comparing, at the said each of the portion or all of the at least one router, the first and second ones of the at least one layer-2-connected communication network, to determine whether or not first and second ones of the at least one layer-2-connected communication network are identical; (c) determining that the first and second communication apparatuses cannot communicate with each other by using a layer-2 communication path only, and stopping the transfer of the message, when the first and second ones of the at least one layer-2-connected communication network are determined, in step (b), not to be identical; and (d) transferring the message to a next router on the layer-3 communication path, when the first and second ones of the at least one layer-2-connected communication network are determined, in step (b), to be identical, and the said each of the portion or all of the at least one router is not a last router on the layer-3 communication path; and (e) determining that the first and second communication apparatuses can communicate with each other by using a layer-2 communication path only, when the first and second ones of the at least one layer-2-connected communication network are determined, in step (b), to be identical, and the said each of the portion or all of the at least one router is the last router on the layer-3 communication path.
(35-1) In the above process according to the thirty-fifth aspect of the present invention, each of the at least one router may contain at least one interface-network correspondence information storing unit for storing at least one piece of interface-network correspondence information indicating one of the at least one layer-2-connected communication network corresponding to each of at least one interface which the said each of the at least one router may contain. The operation of step (a) is performed based on the at least one piece of interface-network correspondence information.
(35-2) In the above process according to the thirty-fifth aspect of the present invention, the said each of the at least one router may contain an interface-network correspondence setting unit for setting the at least one piece of interface-network correspondence information in the at least one interface-network correspondence information storing unit.
(36) According to the thirty-sixth aspect of the present invention, there is provided an apparatus, for use with each of at least one router provided in a layer-3 communication network comprised of a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and for determining, during transfer of a message, layer-2 reachability between first and second communication apparatuses each connected to the layer-3 communication network, where the message contains a layer-3 address of the second communication apparatus, the transfer of the message is performed on a layer-3 communication path passing through a portion or all of the at least one router from the first communication apparatus to the second communication apparatus, and the layer-3 communication path is determined based on the layer-3 address of the second communication apparatus. The apparatus contains a network identifying unit for identifying a first one of the at least one layer-2-connected communication network to which a first interface of the said each of the at least one router is connected, and a second one of the at least one layer-2-connected communication network to which a second interface of the said each of the at least one router is connected, in a case wherein the said each of at least one router receives the message through the first interface thereof, and the said each of the at least one router determines the second interface to be an output interface for the message, based on the layer-3 address of the second communication apparatus; a comparing unit for comparing said first and second ones of said at least one layer-2-connected communication network, to determine whether or not first and second ones of said at least one layer-2-connected communication network are identical; a first determining unit for determining that said first and second communication apparatuses cannot communicate with each other by using a layer-2 communication path only, and stopping the transfer of the message, when said first and second ones of said at least one layer-2-connected communication network are determined, by said comparing unit, not to be identical; a transferring unit for transferring said message to a next router on the layer-3 communication path, when said first and second ones of said at least one layer-2-connected communication network are determined, by said comparing unit, to be identical, and said each of said portion or all of said at least one router is not a last router on the layer-3 communication path; and a second determining unit for determining that said first and second communication apparatuses can communicate with each other by using a layer-2 communication path only, when said first and second ones of said at least one layer-2-connected communication network are determined, by said comparing unit, to be identical, and said each of said portion or all of said at least one router is the last router on the layer-3 communication path.
(36-1) In the above process according to the thirty-sixth aspect of the present invention, each of the at least one router may contain at least one interface-network correspondence information storing unit for storing at least one piece of interface-network correspondence information indicating one of the at least one layer-2-connected communication network corresponding to each of at least one interface which the said each of the at least one router comprises. The operation of the network identifying unit is performed based on the at least one piece of interface-network correspondence information.
(36-2) In the above process according to (36-1), the said each of the at least one router may contain an interface-network correspondence setting unit for setting the at least one piece of interface-network correspondence information in the at least one interface-network correspondence information storing unit.
(37) According to the thirty-seventh aspect of the present invention, there is provided a product for use with an apparatus, for use with each of at least one router provided in a layer-3 communication network comprised of a plurality of subnetworks logically defined over at least one layer-2-connected communication network, and for determining, during transfer of a message, layer-2 reachability between first and second communication apparatuses each connected to the layer-3 communication network, where the message contains a layer-3 address of the second communication apparatus, the transfer of the message is performed on a layer-3 communication path passing through a portion or all of the at least one router from the first communication apparatus to the second communication apparatus, and the layer-3 communication path is determined based on the layer-3 address of the second communication apparatus. The product, when used with the apparatus, is able to output control information which directs the apparatus to realize the units defined in the thirty-sixth aspect of the present invention.